package main

import (
	"fmt"
)

func main() {
	// str := "hello 小皮皮"
	// for k, v := range str {
	// 	fmt.Printf("key=%v, value=%c\n", k, v)
	// }

	// var arr = []string{"php", "java", "python", "javascript"}
	// for k, v := range arr {
	// 	fmt.Printf("key=%v, value=%s\n", k, v)
	// }

	// 练习：判断文件类型，如果后缀名是.html输入 text/html,如果后缀名是.css输入 text/css,如果后缀名是.js输入 text/javascript,否则输入 application/octet-stream
	// extname := ".avi"
	// switch extname {
	// case ".html":
	// 	fmt.Println("text/html")
	// 	break
	// case ".css":
	// 	fmt.Println("text/css")
	// 	break
	// case ".js":
	// 	fmt.Println("text/javascript")
	// 	break
	// case ".avi":
	// 	fmt.Println("video/x-msvideo----兄弟借一部说话")
	// 	break
	// default:
	// 	fmt.Println("application/octet-stream")
	// }

	// 判断一个数是不是偶数
	// n := 5
	// switch n {
	// case 0, 2, 4, 6, 8:
	// 	fmt.Println("偶数")
	// case 1, 3, 5, 7, 9:
	// 	fmt.Println("奇数")
	// }

	// 分支还可以使用表达式，这时候 switch 语句后面不需要再跟判断变量
	// age := 30
	// switch {
	// case age < 18:
	// 	fmt.Println("好好学习")
	// case age >= 18 && age < 60:
	// 	fmt.Println("争取活到退休吧~马喽")
	// default:
	// 	fmt.Println("领退休金了吧~")
	// }

	// switch 的穿透 fallthrough 特性
	age := 30
	switch {
	case age < 18:
		fmt.Println("好好学习")
	case age >= 18 && age < 60:
		fmt.Println("争取活到退休吧~马喽")
		fallthrough
	case age >= 60:
		fmt.Println("领退休金了吧~")
		fallthrough
	default:
		fmt.Println("还活着不？")
	}
}
